package com.lawrence.service;

/**
 * 3、需求来了，现在我们需要增加一个日志功能，怎么实现！
 *
 *   思路1 ：在实现类上增加代码 【麻烦！】
 *   思路2：使用代理来做，能够不改变原来的业务情况下，实现此功能就是最好的了！
 *
 * 4、设置一个代理类来处理日志！代理角色
 *
 * @author wanglanglang
 */
public class UserServiceProxyImpl implements UserService{
    private UserServiceImpl userService;
    public void setUserService(UserServiceImpl userService) {
        this.userService = userService;
    }
    @Override
    public void add() {
        log("add");
        userService.add();
    }

    @Override
    public void delete() {
        log("delete");
        userService.delete();
    }

    @Override
    public void update() {
        log("update");
        userService.update();
    }

    @Override
    public void select() {
        log("select");
        userService.select();
    }
    private void log(String msg) {
        System.out.println("执行了" + msg + "方法...");
    }
}
